<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>用户数据页面</title>
    <link rel="stylesheet" href="layui/css/layui.css"  media="all">
    <!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>

<script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意：如果你直接复制所有代码到本地，上述js路径需要改成你本地的 -->

<table class="layui-hide" id="test" lay-filter="test"></table>

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="add">添加用户</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
    </div>
</script>

<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">更新</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>



<script th:inline="none">
    layui.use(['table', 'form'],function(){
        var table = layui.table;
        var form = layui.form;
        table.render({
            elem: '#test'
            ,url:'http://127.0.0.1:8081/getuser'
            ,toolbar: '#toolbarDemo' //开启头部工具栏，并为其绑定左侧模板
            ,title: '用户数据表'
            ,cols: [[
                {type: 'checkbox', fixed: 'left'}
                ,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
                ,{field:'name', title:'用户名', width:120, edit: 'text'}
                ,{field:'password', title:'密码', width:150, edit: 'text', templet: function(res){
                        return '<em>'+ res.password +'</em>'
                    }}
                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:180}
            ]]
            ,page: false
        });

        //头工具栏事件
        table.on('toolbar(test)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id);
            switch(obj.event){
                case 'getCheckData':
                    var data = checkStatus.data;
                    layer.alert(JSON.stringify(data));
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了：'+ data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选': '未全选');
                    break;
                case 'add' :
                    layer.open({
                        //layer提供了5种层类型。可传入的值有：0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
                        type: 1,
                        title: "增加用户",
                        area: ['420px', '330px'],
                        content: $("#add")//引用的弹出层的页面层的方式加载修改界面表单
                    });

                    form.on('submit(demo10)', function(message1){
                        $.ajax({
                            url:'http://127.0.0.1:8081/register',
                            type:'POST',
                            data:{
                                name: message1.field.name1,
                                password: message1.field.password1,
                            },
                            success:function (msg1) {
                                if (msg1 = "resuccess") {
                                    layer.closeAll('loading');
                                    layer.load(2);
                                    layer.msg("添加成功", {icon: 6});
                                } else {
                                    layer.msg("添加失败", {icon: 5});
                                }
                            }

                        })

                    });
                    break;

                //自定义头工具栏右侧图标 - 提示
                case 'LAYTABLE_TIPS':
                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                    break;
            }
        });

        //监听行工具事件
        table.on('tool(test)', function(obj){
            var data = obj.data;
            //console.log(obj)
            if(obj.event === 'del'){
                var delIndex = layer.confirm('真的删除id为' + data.id + "的信息吗?", function(Index) {
                    $.ajax({
                        url: 'http://127.0.0.1:8081/deleteuser?'+'id='+data.id,
                        type: "get",
                        success: function(suc) {
                            if(suc=="success") {
                                obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                                layer.close(Index);
                                console.log(Index);
                                layer.msg("删除成功", {
                                    icon: 1
                                });
                            } else {
                                layer.msg("删除失败", {
                                    icon: 5
                                });
                            }
                        }
                    });
                    layer.close(Index);
                });

            } else if(obj.event === 'edit') {
                layer.open({
                    //layer提供了5种层类型。可传入的值有：0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
                    type: 1,
                    title: "修改用户信息",
                    area: ['420px', '330px'],
                    content: $("#update")//引用的弹出层的页面层的方式加载修改界面表单
                });
                //动态向表传递赋值可以参看文章进行修改界面的更新前数据的显示，当然也是异步请求的要数据的修改数据的获取
                setFormValue(obj,data);
            }

            //监听弹出框表单提交，massage是修改界面的表单数据'submit(demo11),是修改按钮的绑定
            function setFormValue(obj,data){
                form.on('submit(demo11)', function(message) {
                    //alert(message);
                    $.ajax({
                        url:'http://127.0.0.1:8081/update',
                        type:'POST',
                        data:{
                            id:data.id,
                            name: message.field.name,
                            password: message.field.password,
                        },

                        success:function (msg) {
                            if(msg = "success"){
                                layer.closeAll('loading');
                                layer.load(2);
                                layer.msg("修改成功", {icon: 6});
                                setTimeout(function(){
                                    //更新页面数据
                                    obj.update({
                                        name:message.field.name,
                                        password:message.field.password
                                    });//修改成功修改表格数据不进行跳转
                                    layer.closeAll();//关闭所有的弹出层
                                }, 1000);
                                加载层-风格
                            }else{
                                layer.msg("修改失败", {icon: 5});
                            }
                        }
                    })
                })

            }

        });
    });
</script>

<!--修改用户信息的表单-->
<!--这里是弹出层的表单信息-->
<!--表单的id用于表单的选择，style是在本页隐藏，只有点击编辑才会弹出-->
<div class="layui-row" id="update" style="display:none;">
    <div class="layui-col-md10">
        <form class="layui-form layui-from-pane" action="" style="margin-top:20px" >
            <div class="layui-form-item">
                <label class="layui-form-label">用户名</label>
                <div class="layui-input-block">
                    <input type="text" name="name"  required  lay-verify="required" autocomplete="off" placeholder="请输入用户名" class="layui-input">
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">密码</label>
                <div class="layui-input-block">
                    <input type="text" name="password"  required  lay-verify="required" autocomplete="off" placeholder="请输入密码" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item" style="margin-top:40px">
                <div class="layui-input-block">
                    <button class="layui-btn  layui-btn-submit " lay-submit="" lay-filter="demo11">确认修改</button>
                    <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                </div>
            </div>
        </form>
    </div>
</div>


<!--添加新用户的表单-->
<!--这里是弹出层的表单信息-->
<!--表单的id用于表单的选择，style是在本页隐藏，只有点击编辑才会弹出-->
<div class="layui-row" id="add" style="display:none;">
    <div class="layui-col-md10">
        <form class="layui-form layui-from-pane" action="" style="margin-top:20px" >
            <div class="layui-form-item">
                <label class="layui-form-label">用户名</label>
                <div class="layui-input-block">
                    <input type="text" name="name1"  required  lay-verify="required" autocomplete="off" placeholder="请输入用户名" class="layui-input">
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">密码</label>
                <div class="layui-input-block">
                    <input type="text" name="password1"  required  lay-verify="required" autocomplete="off" placeholder="请输入密码" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item" style="margin-top:40px">
                <div class="layui-input-block">
                    <button class="layui-btn  layui-btn-submit " lay-submit="" lay-filter="demo10">确认添加</button>
                    <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                </div>
            </div>
        </form>
    </div>
</div>
</body>
</html>